package engine

import (
	"errors"

	"engine/eng_cfg"

	"github.com/spf13/viper"
)

func setDefaultCfg() {
	//app
	viper.SetDefault(eng_cfg.AppDeployment, "rls") //debug rls prod

	//log
	viper.SetDefault(eng_cfg.LogSync, "true")
	viper.SetDefault(eng_cfg.LogLevel, "info")
	viper.SetDefault(eng_cfg.LogFileSize, 5)
	viper.SetDefault(eng_cfg.LogFileAppPath, "./log")
	viper.SetDefault(eng_cfg.LogFileDBPath, "./log")
	viper.SetDefault(eng_cfg.LogAlarmLevel, "error")

	//node
	viper.SetDefault(eng_cfg.NodeDDSKind, "etcd")
	viper.SetDefault(eng_cfg.NodeDDSAddr, []string{"127.0.0.1:2379"})
	viper.SetDefault(eng_cfg.NodeDDSKeepAlive, 180)
	viper.SetDefault(eng_cfg.NodeRpcKind, "tcp")
	viper.SetDefault(eng_cfg.NodeRpcAddr, ":")
	viper.SetDefault(eng_cfg.NodeRpcTimeoutRead, 120)
	viper.SetDefault(eng_cfg.NodeRpcTimeoutWrite, 10)
	viper.SetDefault(eng_cfg.NodeCallTimeout, 20)
	viper.SetDefault(eng_cfg.NodeCallSlow, 0)
}

func checkCfg() error {
	if viper.GetString(eng_cfg.AppNode) == "" {
		return errors.New("config app.node is empty")
	}
	return nil
}
